<!DOCTYPE html>
<html>
<head>
    <!-- 页面meta -->
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>传智健康</title>
    <meta name="description" content="传智健康">
    <meta name="keywords" content="传智健康">
    <meta content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no" name="viewport">
    <!-- 引入样式 -->
    <link rel="stylesheet" href="../plugins/elementui/index.css">
    <link rel="stylesheet" href="../css/style.css">
    <link rel="stylesheet" href="../plugins/font-awesome/css/font-awesome.min.css">
    <script src="../plugins/echarts/echarts.js"></script>


    <!--引入组件库-->
    <script src="../js/vue.js"></script>
    <script src="../plugins/elementui/index.js"></script>
    <script src="../js/axios-0.18.0.js"></script>


</head>
<body class="hold-transition">
<div id="app">


    <div class="content-header">
        <h1>统计分析
            <small>接口访问统计</small>
        </h1>
        <el-breadcrumb separator-class="el-icon-arrow-right" class="breadcrumb">
            <el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
            <el-breadcrumb-item>统计分析</el-breadcrumb-item>
            <el-breadcrumb-item>接口访问统计(排行)</el-breadcrumb-item>
        </el-breadcrumb>
    </div>


    <div class="app-container">

        <div class="box">

            <div class="block" id="appp" style="margin-left: 1250px">
                <span class="demonstration"></span>
                <el-date-picker
                        v-model="dateVal"
                        type="daterange"
                        align="right"
                        unlink-panels
                        range-separator="至"
                        start-placeholder="开始日期"
                        end-placeholder="结束日期"
                        :picker-options="pickerOptions">
                </el-date-picker>
            </div>

            <!-- 为 ECharts 准备一个具备大小（宽高）的 DOM -->
            <div id="chart1" style="height:600px;"></div>
        </div>
    </div>


</div>
</body>

<script type="text/javascript">

    // 基于准备好的dom，初始化echarts实例
    var myChart1 = echarts.init(document.getElementById('chart1'));

    // 使用刚指定的配置项和数据显示图表。
    //myChart.setOption(option);

    axios.get("/report/portCount.do").then((res) => {
        console.log(res);
        myChart1.setOption(
            {
                title: {
                    text: '当日接口访问统计排行',
                    subtext: ''
                },
                tooltip: {
                    trigger: 'axis',
                    axisPointer: {
                        type: 'shadow'
                    }
                },
                legend: {
                    data: [res.data.data.StartFormat1],
                },
                grid: {
                    left: '3%',
                    right: '4%',
                    bottom: '3%',
                    containLabel: true
                },
                xAxis: {
                    type: 'value',
                    boundaryGap: [0, 0.01]
                },
                yAxis: {
                    type: 'category',
                    data: res.data.data.portName
                },
                series: [
                    {
                        name: res.data.data.StartFormat1,
                        type: 'bar',
                        data:res.data.data.Count
                    }
                ]
            });
    });

    var vue = new Vue({
        el: '#appp',
        data() {
            return {
                dateVal: [],
                pickerOptions: {
                    shortcuts: [{
                        text: '最近一天',
                        onClick(picker) {
                            const end = new Date();
                            const start = new Date();
                            start.setTime(start.getTime() - 3600 * 1000 * 24 * 1);
                            picker.$emit('pick', [start, end]);
                        }
                    }, {
                        text: '最近一周',
                        onClick(picker) {
                            const end = new Date();
                            const start = new Date();
                            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
                            picker.$emit('pick', [start, end]);
                        }
                    }, {
                        text: '最近一个月',
                        onClick(picker) {
                            const end = new Date();
                            const start = new Date();
                            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
                            picker.$emit('pick', [start, end]);
                        }
                    }],

                }
            };
        },
        methods: {
            searchChangeDate() {
                console.log(this.dateVal);

                axios.post("/report/portCountByDate.do",this.dateVal).then((res)=>{
                        console.log(res.data.data);
                    //console.log(res);
                    myChart1.setOption(
                        {
                            title: {
                                text: '各个接口访问统计排行',
                                subtext: ''
                            },
                            tooltip: {
                                trigger: 'axis',
                                axisPointer: {
                                    type: 'shadow'
                                }
                            },
                            legend: {
                                data: [res.data.data.StartFormat+" -- "+res.data.data.EndFormat]
                            },
                            grid: {
                                left: '3%',
                                right: '4%',
                                bottom: '3%',
                                containLabel: true
                            },
                            xAxis: {
                                type: 'value',
                                boundaryGap: [0, 0.01]
                            },
                            yAxis: {
                                type: 'category',
                                data: res.data.data.portName
                            },
                            series: [
                                {
                                    name:res.data.data.StartFormat+"--"+res.data.data.EndFormat,
                                    type: 'bar',
                                    data:res.data.data.Count
                                }
                            ]
                        });
                })


            },
        },

        watch:{
            dateVal(){
                this.searchChangeDate();
            }
        },
    });
</script>

</html>
